package com.linxianqin.springbootVue.service;

import java.util.Collection;
import java.util.List;

/**
 * 功能描述：缓存操作处理
 * @author lxq
 * @version 1.00
 * @Date 2020/12/12
 */
public interface CacheService {
    /**
     * 更新或者保存kv数据
     * @param key
     * @param value
     */
    public void put(String key, Object value);
    /**
     * 指定cacheName,更新或者保存kv数据
     * @param key
     * @param value
     */
    public void put(String cacheName,String key, Object value);
    /**
     * 获取缓存key的数据
     * @param key
     * @return
     */
    public Object get(String key);

    /**
     * 指定cacheName,删除缓存key的数据
     * @param cacheName
     * @param key
     * @return
     */
    public Object get(String cacheName,String key);
    /**
     *
     * @param key
     * @return
     */
    public void remove(String key);

    /**
     * 指定cacheName,删除缓存key的数据
     * @param cacheName
     * @param key
     */
    public void remove(String cacheName,String key);

    /**
     * 删除cacheName下的所有缓存
     * @param cacheName
     */
    public void removeKeysByCacheName(String cacheName);

    /**
     * 获取cacheName的所有key
     * @param cacheName
     * @return
     */
    public List<String> keys(String cacheName);
}
